The present invention is directed to methods and apparatus for providing a Maximum Likelihood (ML) decoding pipeline for Quadrature Phase-Shift Keying (QPSK) Multiple-Input-Multiple-Output (MIMO) Orthogonal Frequency-Division Multiplexing (OFDM) receivers, and more particularly to pipelining Log-Likelihood Ratio (LLR) computations associated with multiple stream input signals to increase data throughput.
Typically, in QPSK MIMO OFDM receivers, certainty of the received signal values (i.e., LLR) can be computed using the communications model yk=Hk*xk+n, where yk is the received vector at a tone k, xk is the transmitted vector at the tone k and Hk is the channel response. In particular, the LLR values can be determined from a soft metric (SM) defined for each bit position (SMb, where b is the bit position) as the absolute value of the difference between the value at the bit position of the received signal y and the value at the bit position of the possibly transmitted signal x multiplied by the channel response H (i.e., SMb=|yb−xb*Hb|). The LLR for a particular bit position can then be determined by computing the difference between minimum SM values (minSM) corresponding to each of the possibly transmitted values of that bit position (e.g., (minSM0 for bit position 0 having a value of 0) minus (minSM0 for bit position 0 having a value of 1)). The LLR values thus indicate a confidence level in the received bit value at the particular bit position of a received vector y.
LLR computations generally consume a large amount of processing power and take a long period of time for multiple stream input signals. This is because computing a LLR for a particular bit position b of a received signal requires the system to find, for every stream, the minimum value of the difference between the received signal value at the bit position and every possible permutation of values which that bit position could have been (i.e., the minimum SMb). That is, the system has to guess what the signal x was by trying every combination in comparison to the actually received signal y. The lowest metric value indicates the greatest likelihood that the value of the bit position is the value of the particular permutation of the x vector which led to that lowest metric value (i.e., the smallest difference between the guessed value x and the received value y). This determination must be made for every bit position of every stream of the received signal and is computationally intensive.
Additionally, in a QPSK 3×Nr receiver, every signal stream of a three stream vector contains at least two bit positions which can take on one of four values {(0,0), (0,1), (1,0), (1,1)} which correspond to the complex vector values {1+j, 1−j, −1+j, −1−j}. Thus, in such a receiver, 64 metrics or SMb values need to be computed for each tone of a received signal to find the LLR for every bit position of the three streams.
Therefore, because the system has to compute every permutation of a transmitted signal in comparison to the received signal streams, the complexity of finding LLR values increases exponentially with the number of streams used to transmit a signal.
Accordingly, more efficient computations of LLR values become critical as the number of streams increases and faster computation of those values are necessary for high speed receivers.